import request from '@/config/axios'

// 白名单事件 VO
export interface WhitelistEventVO {
  id: number // 资产ID
  sourceIp: string // 源IP
  sourcePort: number // 源端口
  destinationIp: string // 目的IP
  destinationPort: number // 目的端口
  protocol: string // 协议
  eventTime: Date // 发生时间
  functionCode: number // 功能码
  functionCodeCn: string // 功能码中文
  msgType: number // 消息类型
  registerArea: number // 寄存器区
  dbArea: number // DB区
  pointType: number // 点类型
  objectGroupNum: number // 对象组号
  variantNum: number // 变体号
  status: number // 状态（0正常 1停用）
  remark: string // 备注
}

// 白名单事件 API
export const WhitelistEventApi = {
  // 查询白名单事件分页
  getWhitelistEventPage: async (params: any) => {
    return await request.get({ url: `/security/whitelist-event/page`, params })
  },

  // 查询白名单事件详情
  getWhitelistEvent: async (id: number) => {
    return await request.get({ url: `/security/whitelist-event/get?id=` + id })
  },

  // 新增白名单事件
  createWhitelistEvent: async (data: WhitelistEventVO) => {
    return await request.post({ url: `/security/whitelist-event/create`, data })
  },

  // 修改白名单事件
  updateWhitelistEvent: async (data: WhitelistEventVO) => {
    return await request.put({ url: `/security/whitelist-event/update`, data })
  },

  // 删除白名单事件
  deleteWhitelistEvent: async (id: number) => {
    return await request.delete({ url: `/security/whitelist-event/delete?id=` + id })
  },

  // 导出白名单事件 Excel
  exportWhitelistEvent: async (params) => {
    return await request.download({ url: `/security/whitelist-event/export-excel`, params })
  },
}